unit auswahl;

interface

uses
  SysUtils, XMLParser;

type
  Tauswahl = class

  private

  public
    function requestquestion(fragennummer: integer): String;
    function requestanswer1(fragennummer: integer): String;
    function requestanswer2(fragennummer: integer): String;
    function requestanswer3(fragennummer: integer): String;
    function requestanswer4(fragennummer: integer): String;
    function requestrightanswer(fragennummer: integer): String;
    procedure generate();
  end;
    var fragen: array of array of String;
    var xml: XMLParser.dbhandler;
implementation

  function Tauswahl.requestquestion(fragennummer: integer):String;
  begin
    try
    result := fragen[fragennummer-1,0];
    except
    result := 'error: out of range';
    end;
  end;

  function Tauswahl.requestanswer1(fragennummer: integer): String;
  begin
    try
    result := fragen[fragennummer-1,1];
    except
    result := 'error: out of range';
    end;
  end;

  function Tauswahl.requestanswer2(fragennummer: integer): String;
  begin
    try
    result := fragen[fragennummer-1,2];
    except
    result := 'error: out of range';
    end;
  end;

  function Tauswahl.requestanswer3(fragennummer: integer): String;
  begin
    try
    result := fragen[fragennummer-1,3];
    except
    result := 'error: out of range';
    end;
  end;

  function Tauswahl.requestanswer4(fragennummer: integer): String;
  begin
    try
    result := fragen[fragennummer-1,4];
    except
    result := 'error: out of range';
    end;
  end;

  function Tauswahl.requestrightanswer(fragennummer: integer): String;
  begin
    try
    result := fragen[fragennummer-1,5];
    except
    result := 'error: out of range';
    end;
  end;

  procedure Tauswahl.generate();                      //Im moment nur zum testen geeignet;
  var run, max : integer;
  begin
    SetLength(fragen,15,6);
    xml := XMLParser.dbhandler.Create;
    xml.parsexmldata('data.xml');
    max := SizeOf(xml.xmlarray);
    if max < 15 then
    begin
      for run := 0 to max-1 do
      begin
        fragen[run,0] := xml.xmlarray[run].titel;
        fragen[run,1] := xml.xmlarray[run].antwort1;
        fragen[run,2] := xml.xmlarray[run].antwort2;
        fragen[run,3] := xml.xmlarray[run].antwort3;
        fragen[run,4] := xml.xmlarray[run].antwort4;
        fragen[run,5] := IntToStr(Integer(((xml.xmlarray[run].loesung))));
      end
      else
      begin
        for run := 0 to 14 do
        begin
          fragen[run,0] := xml.xmlarray[run].titel;
          fragen[run,1] := xml.xmlarray[run].antwort1;
          fragen[run,2] := xml.xmlarray[run].antwort2;
          fragen[run,3] := xml.xmlarray[run].antwort3;
          fragen[run,4] := xml.xmlarray[run].antwort4;
          fragen[run,5] := IntToStr(Integer(((xml.xmlarray[run].loesung))));
        end;
      end;

    end;

  end;

end.
